import type { RouteRecordRaw } from 'vue-router';
import type { UseBarCompReturnType } from '@/hooks/useBarComps';


/**
 * 定义模块类型
 */
export interface RouteModuleType {
	default: RouteRecordRaw[];
}


export interface _RouteMeta {
	/**
	 * 标题
	 */
	title?: string;

	/**
	 * 图标
	 */
	icon?: string;

	/**
	 * 是否显示菜单
	 */
	hidden?: boolean;

	/**
	 * 排序
	 */
	order?: number;

	/**
	 * 左边操作行为
	 */
	left?: UseBarCompReturnType[];

	/**
	 * 中间操作行为
	 */
	center?: UseBarCompReturnType[];

	/**
	 * 右边操作行为
	 */
	right?: UseBarCompReturnType[];

	class?: string[];

	//
	imType?: string;
}

export interface _RouteRecordRaw extends Omit<RouteRecordRaw, 'meta' | 'children'> {
	meta?: _RouteMeta;
	children?: _RouteRecordRaw[];
}

